package org.flyframework.command
{
	import flash.events.Event;
	import flash.events.IEventDispatcher;
	
	
	public interface ICommand extends IEventDispatcher
	{
		
		function get name():String;
		function get icon():Class;
		
		function execute( event:Event=null ):void;
		
		function undo( event:Event=null ):void;
		function canUndo():Boolean;
		
		function redo( event:Event=null ):void;
		function canRedo():Boolean;
		
	}
}